[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
    Method Fields

                                  Warning                                

    If an error >= 700 occurs,  the  file  is  closed  but all fields are
    undefined.  If no  error  has  occurred  or  the  database is closed,
    the fields are defined as

      Dir.Total:=0;
      Dir.Root :=NIL;
      Dir.Data :=NIL;

      FileStart:=0;
      FileEnd  :=0;
      DirEntry :=0;
      DataSize :=0;
      FileName :='';

      VerHi    :=CurVerHi;
      VerLo    :=CurVerLo;

    and  PrevDir  is  empty.   FileName  should  be  checked  to see what
    database is open or whether a database is open or not.

    Although fields are not  usually  accessed  in  an object, I felt for
    speed I would allow it.  If you  don't  like  this, simply write some
    extra methods.

       PrevDirs  :StackObject;

    This  stack  holds  information  so  that  the  unit  can return to a
    parent database.   When  you  access  a  database  within a database,
    information  is  pushed  onto  this   stack.   When  you  request  to
    return  to  the  original   database,   the   information  is  popped
    off the stack.

       HaveNames,
       InEXE     :Boolean;

    These are the flags read from the PPD file header.

       DataSize  :Word;

    DataSize holds  the  size  of  the  data  in  an  InEXE database.  If
    you are not using an InEXE database, this value is undefined.

       Compress,
       DirEntry  :Byte;

    Compress  holds  the  compression  flag.   If  this  is  not  0,  the
    database cannot be accessed.

    DirEntry holds the size if each directory entry.

    This is currently defined by

        If HaveNames Then
          DirEntry:=12+2+4+2+1
        Else
          DirEntry:=2+4+2+1;

       FileName  :PathStr;

    This holds the current database file name.

       FileStart,
       FileEnd   :LongInt;

    This marks the relative file  start  and  end.  This is required as a
    database  can  be  inside   any   other   file.    FileEnd   must  be
    pointing to the character after  the  PPD  ID, PPDATABASE.  Note that
    when using an InEXE  database,  the  PPD  ID is PPDATABASEEXE but the
    FileEnd still points to the first E in EXE.

       Dir       :DBaseMain;

    This holds the database data  directory.   It is automatically loaded
    once the database is opened.

       VerHi,
       VerLo     :Byte;

    This holds the version of the  unit  which created the currently open
    database.

       F         :File;

    This is the private file variable used to access the file.

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson